Business enterprises use IT systems as a mechanical advantage through automation of apriori well-defined repetitive operational tasks. With dynamics of business in the past being low, primary objective of business applications was to deliver certainty in a fixed operating environment. Increased dynamics has put new demands on businesses while opening up new opportunities that need to be addressed with cost effectiveness in ever-shrinking time window. Demands for agility and adaptiveness seem to be gaining over stability and robustness. Imparting these critical properties needs a new perspective for implementation of IT systems.
One of the principal concerns of enterprise IT is to design and develop flexible IT solutions that can rapidly adapt to changing operating environments. Separation of concerns is critical to enable flexibility. Separation of business process concern from application services is a critical requirement so that a given set of application services can be orchestrated as per a specific flow definition. It is observed that application services typically tend to vary along four dimensions, namely, Business logic (L), Design strategies (D), Architecture (A), and Technology platform (T). Current development practice is to make a set of purpose-specific choices along these dimensions, and encode them in a scattered and tangled manner. This scattering and tangling is the principal obstacle in adapting an existing implementation for the desired change. Large size of an enterprise application further exacerbates this problem. Model driven development approach enables developers to focus on specification of L-concern in terms of models and high level languages while addressing A-, D-, and T-concerns through model-based code generation already disclosed in the prior-arts. Specification-based generation of model-based generators further improves adaptiveness along A, D and T dimensions also already disclosed in the prior-arts. Service oriented architecture splits L-dimension through separation of business process concerns from application functionality. Application services have benefited, vis-a-vis adaptation to apriori known situations, from product-line architectures to some extent. However, prevalent business process specification languages are only capable of defining static processes i.e. it is possible to orchestrate a given set of application services as per the flow modeled in the process definition. No support exists for i) orchestrating a subset of the given set of services as per multiple flow definitions and, ii) orchestrating multiple sets of services as per multiple flow definitions. Without support of this nature the desired flexibility cannot be imparted to IT systems. Also, business processes that cater to similar business intent in a domain are likely to be similar. Being ignorant of these similarities would mean redundancies in business process specification thus leading to maintenance and evolution problems later. Ability to specify commonality while highlighting the variability can reduce redundancy and improve adaptability of business processes significantly.
Though highly desirable, very few practical approaches exist to enable dynamic business adaptation. Recent literature on reference process modeling addresses this requirement using variant management techniques. A reference process represents a family of process models which can be customized in different ways to meet situation specific needs. Some of the prior art approaches enable adaptation through configuration operator (such as enable, hide or block a configurable workflow element) and a set of change operations (such as INSERT, DELETE, MOVE and MODIFY) of process fragments. PESOA project supports adaptation through variant modeling based on BPMN specification. Some of the prior art approach goes beyond control flow and extends business process configuration to task-roles and task-objects.
However these approaches are based on fixed underlying models and address variability through fixed variation points. The existing business process management approaches support modeling and management of situation specific business processes. However, modeling and management of process variants are not adequately supported today. As a result, situation specific variants are either specified in the form of separate process models or expressed in terms of conditional branches within the same process model. Apart of being time and effort intensive, they lead to model redundancies which further complicate maintenance and evolution of business processes.
Thus, in the light of the above mentioned state of the art, it is evident that there is a need for a system and a method which enables:                Development of a set of business process definitions sharing the common business intent as a business process family using model-driven techniques        Development of a business process family in a cost effective manner minimizing time and resources        Meeting the requirements of apriori known situation, to be supported by a business process definition, through easy configuration of the business process family; and        Meeting the requirements of as yet unseen situation, to be supported by a business process definition, through easy extension of the business process family        